Configuring network devices is a significant burden for computer administrative staffs. As individual networks grow, the complexity of their configuration and management increases. Moreover, with the addition of new networks, new protocols, and new services, the already difficult task of configuring and managing a network can become overwhelming.
The difficulties of network management arise from many sources. First, configuring a network device is a labor intensive process that requires special training. Current configuration methods require an administrator to initiate and perform the actual configuration before the network device can become a functional part of the network. In addition, when a network device must be reconfigured due to network growth or change, an administrator again must be personally involved to execute the reconfiguration process.
Second, configuration is more complicated in the current multi-vendor network environment where there is no single standard configuration method for every network device. There are many possible ways to configure network devices, such as by using SNMP, command line interfaces, and configuration files using FTP. In fact, the preferred method of configuring a single type of network device frequently varies from vendor to vendor. Recently, this problem has become worse with an increased number of acquisitions in the network industry. An acquired company's products often are configured differently than its acquiring company's existing products. Thus, even within a single vendor's product line, it often is necessary to support multiple configuration methods.
Finally, configuring a network device is error-prone and the process is difficult to debug. While some configuration tools are beginning to become available, most currently available tools do little or no semantic and/or consistency checking between related configuration options.